1496B - Max and Mex - CodeForces Solution


math *1100

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main()
{
	int t,n,k;
	scanf("%d",&t);
	while(t--)
	{
		
		scanf("%d%d",&n,&k);
		int mex=0,maxn=0;
		for(int i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		sort(a,a+n);
		int ans;
		if(k==0)
		{
			ans=n;
		}else 
		{
			int flag=0;
			for(int i=0;i<n;i++)
			{
				if(a[i]!=i)
				{
					mex=i;
					flag=1;
					break;
				}
			}
			if(flag==0)
			{
				mex=n;
			}
			int x;
			maxn=a[n-1];
			if(mex<maxn)
			{
				if((mex+maxn)%2==1)
				{
					x=(mex+maxn)/2+1;
				}
				else 
				{
					x=(mex+maxn)/2;
				}	
				int temp=0;
				for(int i=0;i<n;i++)
				{
				    if(a[i]==x)
					{
						ans=n;
						temp=1;
						break;
					}	
				}			
				if(temp==0)
				{
					ans=n+1;
				}
			}else 
			{
				ans=n+k;
			}	
		}printf("%d\n",ans);
	}
}
  		  		 	 				   	   		 		   	


Comments

Submit
0 Comments
More Questions

145. Binary Tree Postorder Traversal
94. Binary Tree Inorder Traversal
101. Symmetric Tree
77. Combinations
46. Permutations
226. Invert Binary Tree
112. Path Sum
1556A - A Variety of Operations
136. Single Number
169. Majority Element
119. Pascal's Triangle II
409. Longest Palindrome
1574A - Regular Bracket Sequences
1574B - Combinatorics Homework
1567A - Domino Disaster
1593A - Elections
1607A - Linear Keyboard
EQUALCOIN Equal Coins
XOREQN Xor Equation
MAKEPAL Weird Palindrome Making
HILLSEQ Hill Sequence
MAXBRIDGE Maximise the bridges
WLDRPL Wildcard Replacement
1221. Split a String in Balanced Strings
1002. Find Common Characters
1602A - Two Subsequences
1555A - PizzaForces
1607B - Odd Grasshopper
1084A - The Fair Nut and Elevator
1440B - Sum of Medians